home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / SNNSV32.ZIP / SNNSv3.2 / kernel / sources / Makefile < prev    next >
Makefile  |  1994-04-25  |  6KB  |  222 lines

  1. #*****************************************************************************
  2. #  FILE     : Makefile
  3. #  SHORTNAME: Makefile
  4.  
  5. #  PURPOSE  : Makefile for SNNSv3.2 kernel, tools, or user interface
  6.  
  7. #  AUTHOR   : Markus Huettel Guenter Mamier Ralf Huebner
  8. #  DATE     : 17.12.1993
  9.  
  10. #                     (c) 1991 - 94 by SNNS-Group
  11. #       Institute for Parallel and Distributed High Performance Systems
  12. #                      University of Stuttgart, FRG
  13. #
  14. #*****************************************************************************
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21. # Created by huebner at Mon Apr 25 12:48:36 MET DST 1994
  22.  
  23. # -- SNNS  Installation  Directories  &  Libraries --
  24. SNNSDIR = /usr/local/bv/SNNS/SNNSv3.2
  25. MACHINE = sun4
  26. MACHINENAME= sun_os4x
  27. COMPILER = cc
  28. CCFLAGS = -O
  29. FPOPTIONS = 
  30. RLIB = ranlib
  31. XDIR = /usr/local/X11R5/lib
  32. XH = /usr/local/X11R5/include
  33. SUFFIXES        = .o .c .l .y .h .ph
  34. KERNELBINDIR    = $(SNNSDIR)/kernel/bin/$(MACHINENAME)
  35. KERNELLIBDIR    = $(SNNSDIR)/kernel/bin/$(MACHINENAME)
  36.  
  37.  
  38. # -- C-Compiler Configuration --
  39.  
  40. CC              = $(COMPILER)
  41. CPPFLAGS        =
  42. CFLAGS          = $(CDEBUG) $(CCFLAGS) $(CPPFLAGS) $(FPOPTIONS)
  43. YACC            = bison
  44. YFLAGS          = -b 'y' -p 'pp' -d
  45. LEX             = lex
  46. CDEPFLG         = -MM
  47.  
  48. # -- Archive Configuration --
  49.  
  50. CP        = cp
  51. PATHDEL        = /
  52. AR              = ar
  53. ARFLAGS     = rc
  54. RANLIB          = ranlib
  55.  
  56. # -- Source files --
  57.  
  58. GLOBALINCLUDES     = glob_typ.h \
  59.                      kr_const.h \
  60.                      kr_def.h \
  61.                      kr_typ.h \
  62.                      krui_typ.h \
  63.                      kr_mac.h \
  64.                      krart_df.h \
  65.                      ext_typ.h \
  66.                      random.h \
  67.                      cc_mac.h \
  68.                      cc_type.h \
  69.                      dlvq_type.h
  70.  
  71. KERNELSOURCES_YACC = kr_pat_parse.y
  72. KERNELSOURCES_LEX  = kr_pat_scan.l
  73. KERNELSOURCES_C    = kernel.c \
  74.                      kr_io.c \
  75.                      kr_mem.c \
  76.                      kr_ui.c \
  77.                      kr_inversion.c \
  78.                      art_ui.c \
  79.                      kr_art.c \
  80.                      kr_art1.c \
  81.                      kr_art2.c \
  82.                      kr_amap.c \
  83.                      strdup.c \
  84.                      kr_newpattern.c\
  85.                      kr_JordElm.c
  86. KERNELSOURCES_H    = version.h \
  87.                      sigmoid.tbl \
  88.                      kernel.h kernel.ph \
  89.                      kr_io.h kr_io.ph \
  90.                      kr_mem.h kr_mem.ph \
  91.                      kr_ui.h kr_ui.ph \
  92.                      kr_inversion.h kr_inversion.ph \
  93.                      art_typ.h \
  94.                      art_ui.h art_ui.ph \
  95.                      kr_art.h kr_art.ph \
  96.                      kr_art1.h kr_art1.ph \
  97.                      kr_art2.h kr_art2.ph \
  98.                      kr_amap.h kr_amap.ph \
  99.                      strdup.h strdup.ph \
  100.                      kr_pat_parse.h kr_pat_parse.ph \
  101.                      kr_pat_scan.h kr_pat_scan.ph \
  102.                      kr_newpattern.h kr_newpattern.ph \
  103.                      kr_JordElm.h kr_JordElm.ph 
  104. KERNELSOURCES      = $(KERNELSOURCES_YACC) \
  105.                      $(KERNELSOURCES_LEX) \
  106.                      $(KERNELSOURCES_C) \
  107.                      $(KERNELSOURCES_H)
  108.  
  109. USR_FUNC_SOURCES_C = func_tbl.c \
  110.                      init_f.c \
  111.                      kr_td.c \
  112.                      kr_funcs.c \
  113.                      learn_f.c \
  114.                      tbl_func.c \
  115.                      trans_f.c \
  116.                      update_f.c \
  117.                      matrix.c \
  118.                      arttr_f.c \
  119.                      cc_learn.c \
  120.                      rcc_learn.c \
  121.                      cc_rcc.c \
  122.                      cc_rcc_topo.c \
  123.                      dlvq_learn.c
  124. USR_FUNC_SOURCES_H = func_mac.h \
  125.                      func_tbl.h func_tbl.ph \
  126.                      init_f.h init_f.ph \
  127.                      kr_td.h kr_td.ph \
  128.                      kr_funcs.h kr_funcs.ph \
  129.                      learn_f.h learn_f.ph \
  130.                      tbl_func.h tbl_func.ph \
  131.                      trans_f.h trans_f.ph \
  132.                      update_f.h update_f.ph \
  133.                      matrix.h matrix.ph \
  134.                      arttr_f.h arttr_f.ph \
  135.                      cc_learn.h cc_learn.ph \
  136.                      rcc_learn.h rcc_learn.ph \
  137.                      cc_rcc.h cc_rcc.ph \
  138.                      cc_rcc_topo.h cc_rcc_topo.ph \
  139.                      dlvq_learn.h dlvq_learn.ph
  140. USR_FUNC_SOURCES   = $(USR_FUNC_SOURCES_C) \
  141.                      $(USR_FUNC_SOURCES_H)
  142.  
  143. UTILITY_SOURCES_C  = make_tbl.c \
  144.                      calc_err.c
  145. UTILITY_SOURCES    = $(UTILITY_SOURCES_C)
  146.  
  147. SOURCES            = $(GLOBALINCLUDES) \
  148.                      $(KERNELSOURCES) \
  149.                      $(USR_FUNC_SOURCES) \
  150.                      $(UTILITY_SOURCES)
  151.  
  152. # -- Modul files --
  153.  
  154. MODULES           = $(KERNELSOURCES_C) \
  155.                     $(USR_FUNC_SOURCES_C) \
  156.                     $(UTILITY_SOURCES_C)
  157.  
  158. # -- Object files --
  159.  
  160. KERNELOBJECTS_LEX = $(KERNELSOURCES_LEX:.l=.o)
  161. KERNELOBJECTS      = $(KERNELSOURCES_YACC:.y=.o) \
  162.                     $(KERNELSOURCES_LEX:.l=.o) \
  163.                     $(KERNELSOURCES_C:.c=.o)
  164.  
  165. USR_FUNC_OBJECTS  = $(USR_FUNC_SOURCES_C:.c=.o)
  166.  
  167. UTILITY_OBJECTS   = $(UTILITY_SOURCES_C:.c=.o)
  168.  
  169. # -- Libraries --
  170.  
  171. LIBKERNEL      = libkernel.a
  172. LIBFUNCS      = libfunc.a
  173.  
  174. # -- Rules --
  175.  
  176. .KEEP_STATE:           # SUN make keeps dependencies in .make.state
  177.  
  178. .y.c:
  179.     @echo "please ignore possible errors concerning missing bison or y.tab.c"
  180.     @echo "keep fingers crossed if GNU bison is missing or install it"
  181.     -$(YACC) $(YFLAGS) $<
  182.     -mv y.tab.c $@
  183.  
  184. default:  $(LIBKERNEL) $(LIBFUNCS)
  185.  
  186. $(LIBKERNEL): $(KERNELOBJECTS)
  187.     $(AR) $(ARFLAGS) $(LIBKERNEL) $(KERNELOBJECTS)
  188.     -$(RANLIB) $(LIBKERNEL)
  189.  
  190. $(LIBFUNCS): $(USR_FUNC_OBJECTS)
  191.     $(AR) $(ARFLAGS) $(LIBFUNCS) $(USR_FUNC_OBJECTS)
  192.     -$(RANLIB) $(LIBFUNCS)
  193.  
  194. install: $(LIBKERNEL) $(LIBFUNCS)
  195.     -$(RANLIB) $(LIBKERNEL)
  196.     -$(RANLIB) $(LIBFUNCS)
  197.     $(CP) $(LIBKERNEL) $(KERNELLIBDIR)
  198.     $(CP) $(LIBFUNCS) $(KERNELLIBDIR)
  199. # because of checking of timestamps this is neccessary !
  200.  
  201. list:
  202.     $(CAT) $(SOURCES) > kernelsrc.all
  203.  
  204. clean:
  205.     /bin/rm -f $(KERNELOBJECTS) $(USR_FUNC_OBJECTS)
  206.     /bin/rm -f $(LIBKERNEL) $(LIBFUNCS)
  207.  
  208. tarfile:
  209.     tar cvf kernel.tar $(SOURCES) Makefile*
  210.     compress kernel.tar
  211.  
  212. depend:
  213.     $(CC) $(CDEPFLG) $(MODULES) > kernel.ddt
  214.  
  215. # -- Dependencies --
  216.  
  217. $(KERNELOBJECTS_LEX): y.tab.h
  218.  
  219. y.tab.h: $(KERNELSOURCES_YACC) $(KERNELSOURCES_YACC:.y=.c)
  220.  
  221. include kernel.ddt
  222.